With regard to printer drivers which are capable of running on Windows operating systems, Microsoft corporation (MICROSOFT is a registered trademark of Microsoft Corporation in the United States and other countries, and the same shall apply hereinafter) provides guidelines for hardware manufacturers. According to the guidelines, hardware manufacturers have provided version 3 printer drivers on the assumption the printer drivers work with Windows operating systems from Windows 2000 to Windows 7.
As the succeeding operating systems, there arrived Windows 8 and Windows Server 2012. Especially, since Windows 8 employs a metro-style user interface, which is a new and tile-like user interface, hardware manufacturers are developing version 4 printer drivers which employ a new printer driver architecture for those operating systems.
Such a version 4 printer driver model has a structure roughly divided into two layers of a printer driver core component and a print setup UI (User Interface) component. These two layers are designed so as to separate their processes from each other, which realizes that the two layers can be provided separately.
The printer driver core component is an application which supplies print features. The printer driver core component includes a configuration file, such as a GPD (Generic Printer Description) and PPD (PostScript Printer Description) file, a print filter, and various modules including a JavaScript constraint section (JAVASCRIPT is a registered trademark of Oracle America, Inc.). The configuration file defines various print features. The printer filter edits rendering commands in rendering processing. The JavaScript constraint section handles a conflict among setup items about the print features.
The print setup UI component is an application being independent from the printer driver core component, and provides a setup user interface by using print capability information referred to as PrintCapabilities and print setup information referred to as PrintTicket, which are supplied from the printer driver core component.
As described above, as for a version 4 printer driver, the printer driver core component and the print setup UI component are provided separately, which sometimes causes a situation that the version of the printer driver core component does not match that of the print setup UI component. If a user obtains the printer driver core component and the print setup UI component through different distribution channels, for example a user obtains the printer driver core component through a CD or the Web and the print setup UI component through the Windows Store, there is a strong probability that these components are different in version and the components can be incompatible with each other.
With respect to a technology about a printer driver compatibility, though it is not a technology about the above-described version 4 printer driver, Japanese Unexamined Patent Publication (JP-A) No. 2013-175080 discloses the following technology to check a compatibility between a printer driver and a firmware of a printer device on the basis of their versions, and to display information that print processing is not conducted and information of the version of a printer driver which is compatible with the firmware if they have no compatibility. JP-A No. 2008-204169 discloses a technology that a printer driver obtains the version of a firmware of a printer device, determines whether the printer device can perform print processing, and cancels the print processing on determining that the printer device cannot perform the print processing. JP-A No. 2005-302031 discloses a technology that a printer driver obtains configuration data from a printer device, stores the configuration data in a nonvolatile memory device, and generates a GUI (Graphical User Interface) on the basis of the configuration data.
A setup user interface displayed by a printer driver can include various kinds of setup UI (user interface) portions associated with different print features, for example for a MFP (Multi-Function Peripheral) and a printer. In such setup UI portions, setup UI portions being compatible with others and setup UI portions being incompatible with others may be mixed together. For example, under the assumption that there are three kinds of setup UI portions of MFP_V1, MFP_V2 and Printer, there can be a situation that MFP_V1 is compatible with MFP_V2, but Printer is not compatible with MFP_V1 and MFP_V2.
In such a printer driver, the printer driver core component designates a setup UI portion for each of print features and the print setup UI component causes a display unit to display setup UI portions according to the designation. Therefore, under the condition that the version of the printer driver core component is newer than that of the print setup UI component and that a setup UI portion designated by the printer driver core component is not implemented in the print setup UI component, the designated setup UI portion may not be displayed.
Thus, the print setup UI component may be designed to cause a display unit to display setup UI portions implemented in itself unconditionally. However, if a designated setup UI portion is not compatible with setup UI portions implemented in the print setup UI component, this handling method does not allow a user to setup a print feature associated with the designated setup UI portion.